package br.com.ucb.projFinal.beans;
public class TSupermercado implements ISupermercado {
	
	public IProductos productos;
	
/**
 	* FUNCION: Constructor por defecto
 */
	public TSupermercado(){
		productos = new TProductos();
	}
	
	/**
	 * FUNCION: Constructor con parámetros
	 * 
	 * RESPONSABILIDAD: Inicializar la lista con la lista pasada por parámetros
	 * 
	 * @param productos - Lista de productos. 
	 */
	public TSupermercado(IProductos productos){
		this.productos = productos;
	}
	
	@Override
	public boolean IncorporarProducto(IProducto producto) {
		if (producto!= null){
			return productos.insertarAlPrincipio(producto);
		}	
		return false;
	}

	
	@Override
	public boolean QuitarProducto(Integer codigoBarras) {
		if (!productos.esVacia()){
			return (productos.eliminar(codigoBarras) != null);
		}	
		return false;
	}

	@Override
	public boolean AgregarStock(Integer codigoBarras, Integer cantidad) {
		if (productos.esVacia()){
			return false;
		}
		IProducto buscado =(IProducto) productos.buscar(codigoBarras);
		
		if (buscado != null){
			buscado.setStock(buscado.getStock()+ cantidad);
			return true;
		}
		return false;
		
	}

	@Override
	public boolean QuitarStock(Integer codigoBarras, Integer cantidad) {
		if (productos.esVacia()){
			return false;
		}
		IProducto buscado =(IProducto) productos.buscar(codigoBarras);
		
		if (buscado != null){
			buscado.setStock(buscado.getStock() - cantidad);
			return true;
		}
		return false;
	}

	@Override
	public String ListarProductos() {

		productos.ordenarPorNombre();
		
		return productos.ImprimirElementos();
	
	}



}
